<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<%@page session="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Spring Demo - JSP</title>
    </head>
    <body>
        <h1>标题: ${title}</h1>
        <h1>消息 : ${message}</h1>

        <!--
            说明： form 中的 action的值 为 /login 为 security 登录验证密码的默认登录地址
            与 controller 中的 login 方法没有直接关系。
            spring security 3.x 默认的登录拦截URL是/j_spring_security_check,
            而spring security 4.x默认拦截的URL是/login
            spring security 3.x 默认的登出地址为 /j_spring_security_logout
            而spring security 4.x默认拦截的URL是/logout
          -->
        <c:if test="${pageContext.request.userPrincipal.name != null}">
            <h2>欢迎: ${pageContext.request.userPrincipal.name}
                <a href="<c:url value="/logout1" />"> 注销(自定义)</a></h2>
                <a href="<c:url value="/logout" />"> 注销(security自带的)</a></h2>
        </c:if>
        <!--
            如果需要手动以编码的方式注销程序：
                    配置value="/logout1" Controller里面有对应 logout1
            spring security 有自带的  value="/logout" 无需再Controller里面写代码
            一样能处理注销，只是不能有自己的业务逻辑
        -->
    </body>
</html>